package com.ztgf.commodity.models.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ztgf.commodity.models.dto.CommodityLabelDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * author: chenyu.wang
 * date: 2020-07-02 14:16
 * Description: 查看产品详情VO
 */
@Data
public class CommodityRegardVO implements Serializable {

    @ApiModelProperty(value = "商品id")
    private Long id;
    @ApiModelProperty(value = "商品主图")
    private String logoUrl;
    @ApiModelProperty(value = "商品logo图片 图片集合，逗号隔开")
    private String logoUrls;
    @ApiModelProperty(value = "商品视频地址 视频集合，逗号隔开")
    private String videoUrls;
    @ApiModelProperty(value = "商品名称")
    private String commodityName;
    @ApiModelProperty(value = "商品描述")
    private String description;
    @ApiModelProperty(value = "发货区域id")
    private Long sendAreaId;
    @ApiModelProperty(value = "发货区域名称")
    private String sendAreaName;
    @ApiModelProperty(value = "可售区域codes,用逗号隔开")
    private String availableArea;
    @ApiModelProperty(value = "可售区域名称,用逗号隔开")
    private String availableAreaName;
    @ApiModelProperty(value = "发货时间 规定天数发货")
    private Integer sendDays;
    @ApiModelProperty(value = "商品类型 0现货、1预售")
    private Integer type;
    @ApiModelProperty(value = "店铺id")
    private Long shopId;
    @ApiModelProperty(value = "店铺名称")
    private String shopName;
    @ApiModelProperty(value = "品牌id")
    private Long brandId;
    @ApiModelProperty(value = "品牌名称")
    private String brandName;
    @ApiModelProperty(value = "分类id")
    private Long categoryId;
    @ApiModelProperty(value = "分类名称")
    private String categoryName;
    @ApiModelProperty(value = "商品详情")
    private String notes;
    @ApiModelProperty(value = "审核 0未审核、1已审核、2审核失败")
    private Integer auditStatus;
    @ApiModelProperty(value = "上架 0未上架、1已上架、2平台下架")
    private Integer isPublish;
    @ApiModelProperty(value = "是否删除 0未删除、1删除")
    private Integer state;
    @ApiModelProperty(value = "是否掌柜推荐 0否、1是")
    private Integer isRecommend;
    @ApiModelProperty(value = "是否新品上架 0否、1是")
    private Integer isNew;
    @ApiModelProperty(value = "是否镇店之宝 0否、1是")
    private Integer isTreasure;
    @ApiModelProperty(value = "质保期 单位月")
    private Integer warrantyMonth;
    @ApiModelProperty(value = "产品规格说明书")
    private String productSpecificationUrl;
    @ApiModelProperty(value = "商品编号")
    private String commodityNumber;
    @ApiModelProperty(value = "上传产品检验合格证书 图片集合，逗号隔开")
    private String productCertificateUrls;
    @ApiModelProperty(value = "是否支持会员折扣 0支持，1不支持")
    private Integer isVipDiscounts;
    @ApiModelProperty(value = "盾构品牌ids,用逗号隔开")
    private String shieldBrandId;
    @ApiModelProperty(value = "盾构品牌名称,用逗号隔开")
    private String shieldBrandName;
    @ApiModelProperty(value = "盾构部位ids,用逗号隔开")
    private String shieldPartsId;
    @ApiModelProperty(value = "盾构部位名称,用逗号隔开")
    private String shieldPartsName;
    @ApiModelProperty(value = "0担保支付")
    private Integer payType;
    @ApiModelProperty(value = "预售产品首款比例，%")
    private Integer firstBalance;
    @ApiModelProperty(value = "预售产品尾款比例，%")
    private Integer tailBalance;
    @ApiModelProperty(value = "是否询价，0否，1是")
    private Integer isInquiry;
    @ApiModelProperty(value = "卖家地址id")
    private Long sellerAddressId;
    @ApiModelProperty(value = "是否平台下架，0否，1是")
    private Integer isPlatformShelf;
    @ApiModelProperty(value = "打回原因")
    private String returnReason;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "平台删除原因")
    private String deleteReason;
    @ApiModelProperty(value = "平台下架原因")
    private String shelfReason;
    @ApiModelProperty(value = "筛选属性ids")
    private String filterIds;
    @ApiModelProperty(value = "标签ids")
    private String labelIds;
    @ApiModelProperty(value = "商品规格属性")
    private List<CommodityRegardAttrVO> attrList;
    @ApiModelProperty(value = "商品套餐信息")
    private List<CommodityRegardAttrVO> comboList;
    @ApiModelProperty(value = "商品参数信息")
    private List<CommodityParamValueRelationVO> paramList;
    @ApiModelProperty(value = "筛选属性")
    private List<CommodityFilterOneVO> filterList;
    @ApiModelProperty(value = "销售属性")
    private List<CommoditySalesAttributesRelationVO> salesAttributes;
    @ApiModelProperty(value = "标签信息")
    private List<CommodityLabelDTO> labelList;
    @ApiModelProperty(value = "备货时间 规定天数发货")
    private Integer stockDays;
}
